//Mon 21 Dec 2009 11:11:56 PM CST 
//Tue 29 Dec 2009 06:52:20 PM CST 
//Mon 08 Feb 2010 09:29:24 PM CST 
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <sstream>
#include <algorithm>

using namespace std;

class RoughStrings
{
public:
	int minRoughness(string s, int n)
	{
//		vector<int> cnt(26, 0);
//		for(int i=0; i<s.size(); i++)
//			cnt[s[i]-'a']++;
//		vector<int> v;
//		for(int i=0; i<cnt.size(); i++)
//			if(cnt[i])
//				v.push_back(cnt[i]);
//		int ret = -1;
//		sort(v.begin(), v.end());
//		for(int i=0; i<=n && v.size()>0; i++)
//		{
//			if(ret > (v[v.size()-1]-v[0]) || ret == -1)
//			{
//				ret = v[v.size()-1]-v[0];
//			}
//			for(int j=0; j<v.size(); j++) v[j]--;
//			while(v[0] == 0 && v.size() > 0)
//			{
//				v.erase(v.begin());
//			}
//			cout << ret << endl;
//		}
//		return ret;
	}
};
